1. Field of the Invention
The present invention relates to a disc, and more particularly, to a recording and/or reproducing method, a recording and/or reproducing apparatus, and a computer readable recording medium storing a program for performing the method.
2. Description of the Related Art
Recording data on or reproducing data from an information storage medium, such as a hard disc (HD), a compact disc (CD), and a digital versatile disc (DVD), is performed in predetermined units. The unit is referred to as a recording unit block or a reproducing unit block. An error correction block for correcting an error occurring when data is recorded or reproduced is an example of a recording unit block or a reproducing unit block.
When the size of an error correction block is 64 Kbytes and 4 Kbytes long data that corresponds to part of the error correction block is desired to be recorded, meaningless values, such as 00h, are added to the remaining part of the error correction block, that is, 60 Kbytes, and then recorded.
In order to reproduce the error correction block in which only part of the block has meaningful data, a disc drive reads the error correction block and performs error correction. However, then though error correction of the meaningful 4 Kbytes long data is possible, error correction of codewords including the remaining 60 Kbytes long data padded with meaningless values, is impossible and therefore error correction of the entire error correction block is impossible as well. Since the disc drive cannot identify which part in an error correction block is meaningful data and which part is padded with meaningless data, there is a problem in that the disc drive tries to perform error correction or data reproduction again, or despite the presence of meaningful data in part of the error correction block, finally regards the error correction block as an error. This situation takes place not only in a data reproduction operation, but also in a data update operation and a data addition operation in the same manner.
Meanwhile, U.S. Pat. No. 6,367,049 (hereinafter referred to as ‘interleaving encoding’) discloses a technology for encoding data. In interleaving encoding, a plurality of LDC blocks, each block including user data, and a plurality of burst indicator subcode (BIS) blocks, each block including address data, are arranged in one physical cluster in an interleaving manner and recorded. When data is reproduced, error correction of a block including address data is performed, and then error correction of a block including user data is performed. Referring to FIG. 1, interleaving encoding will now be briefly explained.
FIG. 1 is a reference diagram explaining encoding data by an interleaving method according to an example of a conventional technology.
Referring to FIG. 1, user data 11 received from a source, such as a host and an application, is divided into data frames, each frame formed with (2048+4) bytes. The divided user data forms a data block 12 arranged in 304 columns and 216 rows. Next, by adding a 32-row parity data to the data block 12, an LDC block 13 is formed. These LDC blocks 13 are arranged in 152 columns and 496 rows to form an error correction code (ECC) cluster 14. This ECC cluster 14 is distributed to fill ECC parts of a physical cluster block 20.
A logical address and control data 15 combined by a recording system are arranged in 32*18 bytes. A physical address related to a physical location on a medium is arranged in 16*9 bytes. The logical address+control data 15 and the physical address 16 are combined to form an access block 17 of 24 columns*30 rows. Then, the 32-row parity data is added to the access block 17, and a BIS block 18 is formed. These BIS blocks 18 are arranged as a BIS cluster 19 of 3 columns and 496 rows. The BIS cluster 19 is distributed to fill BIS columns of the physical cluster block 20. Then, by adding one column of a synchronization bit group to the physical cluster block 20, a physical cluster of 155 columns*496 rows is formed. Thus, by arranging data in a manner of interleaving as presented above, the error correction capability is enhanced.
Meanwhile, when data is desired to be recorded on a recordable information storage medium, a drive system records the data in units of clusters that are recording units. When it is assumed that a cluster is formed with, for example, 32 sectors, if the size of sectors that should be recorded is not a multiple of 32, the drive system pads some meaningless sectors to make a multiple unit of the cluster in order to fit the cluster unit, and then records the data.
Also, when data is desired to be added to or updated in a cluster already recorded on a recordable information storage, if some sectors that are not a unit of cluster (that is, not among the 32 sectors), for example, 16 sectors, are recorded, the drive system reads a cluster formed with 32 sectors including the 16 sectors to be added or updated, from a disc and stores them in an internal memory. Then, in this cluster, the 16 sectors desired to be added or updated after error correction are modified in the corresponding location of the internal memory, and then, together with the remaining 16 sectors, are encoded as one ECC cluster and recorded. This process is referred to as read-modify-write. Of course, in the reproduction process of the cluster in the recordable information storage medium, if the cluster is not defective, the cluster is recorded to an identical physical address. If the cluster is defective, the cluster is recorded in a replacement cluster by a defect management method. In a write once recording information storage medium, since writing is permitted only once, the cluster in which data is added or updated is recorded in a replacement cluster by defect processing.
An operation for adding data to or updating data in a cluster in which 16 sectors are already recorded in the data structure by interleaving encoding will now be explained in more detail. When a read operation is performed in a read-modify-write process in order to add or update the 16 sectors, data of a recording/reproducing unit cluster is read and stored in an internal memory. Then, error correction of the BIS cluster is first performed and then error correction of the ECC cluster for 32 sectors of data is performed. At this time, if error correction of the ECC cluster is not successful, the remaining 16 sectors, excluding the 16 sectors desired to be added or updated, cannot be reproduced and a problem in recording the data desired to be added or updated occurs. This is because valid data may be included in the 16 remaining sectors, and therefore error correction should be performed fully. Accordingly, in this case, if it is not known whether data in the 16 remaining sectors is valid, the drive system has to access the cluster on the disc and try to reproduce data again. If the cluster cannot be reproduced despite this retrial, the drive has to report an error message to a host. Accordingly, useless operations of the drive system inevitably occur in this situation.
Also, in this case, if the drive system is informed whether the data in the 16 sectors is valid, and that the data in the 16 remaining sectors is invalid, the drive system can add data to or update the new data in the 16 sectors without unnecessarily trying to reproduce data again or reporting an error message to the host. However, since it is not known whether the data in the remaining 16 sectors is valid, the probability that the drive system regards this as an error increases and as a result, the error correction capability decreases.